package com.ruoyi.pims.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 健康体征监测(体重+身高)对象 health_body_metrics
 * 
 * @author ruoyi
 * @date 2025-05-16
 */
public class HealthBodyMetrics extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 记录日期 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "记录日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recordDate;

    /** 体重(kg) */
    @Excel(name = "体重(kg)")
    private BigDecimal weight;

    /** 身高(cm) */
    @Excel(name = "身高(cm)")
    private BigDecimal height;

    /** BMI指数(自动计算) */
    @Excel(name = "BMI指数(自动计算)")
    private BigDecimal bmi;

    /** 体脂率(%) */
    @Excel(name = "体脂率(%)")
    private BigDecimal bodyFat;

    /** 测量条件(MORNING空腹/AFTERNOON/EVENING) */
    @Excel(name = "测量条件(MORNING空腹/AFTERNOON/EVENING)")
    private String measureCondition;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setRecordDate(Date recordDate) 
    {
        this.recordDate = recordDate;
    }

    public Date getRecordDate() 
    {
        return recordDate;
    }

    public void setWeight(BigDecimal weight) 
    {
        this.weight = weight;
    }

    public BigDecimal getWeight() 
    {
        return weight;
    }

    public void setHeight(BigDecimal height) 
    {
        this.height = height;
    }

    public BigDecimal getHeight() 
    {
        return height;
    }

    public void setBmi(BigDecimal bmi) 
    {
        this.bmi = bmi;
    }

    public BigDecimal getBmi() 
    {
        return bmi;
    }

    public void setBodyFat(BigDecimal bodyFat) 
    {
        this.bodyFat = bodyFat;
    }

    public BigDecimal getBodyFat() 
    {
        return bodyFat;
    }

    public void setMeasureCondition(String measureCondition) 
    {
        this.measureCondition = measureCondition;
    }

    public String getMeasureCondition() 
    {
        return measureCondition;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("recordDate", getRecordDate())
            .append("weight", getWeight())
            .append("height", getHeight())
            .append("bmi", getBmi())
            .append("bodyFat", getBodyFat())
            .append("measureCondition", getMeasureCondition())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
